home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / sun / audio / AudioPlayer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  1.5 KB  |  47 lines

  1. package sun.audio;
  2.  
  3. import java.io.InputStream;
  4.  
  5. public class AudioPlayer extends Thread {
  6.    private AudioDevice devAudio;
  7.    public static final AudioPlayer player = CreateAudioPlayer();
  8.  
  9.    private static AudioPlayer CreateAudioPlayer() {
  10.       SecurityManager.enablePrivilege("UniversalThreadAccess");
  11.       SecurityManager.enablePrivilege("UniversalThreadGroupAccess");
  12.       return new AudioPlayer();
  13.    }
  14.  
  15.    private static ThreadGroup getAudioThreadGroup() {
  16.       ThreadGroup var0;
  17.       for(var0 = Thread.currentThread().getThreadGroup(); var0.getParent() != null && var0.getParent().getParent() != null; var0 = var0.getParent()) {
  18.       }
  19.  
  20.       return var0;
  21.    }
  22.  
  23.    private AudioPlayer() {
  24.       super(getAudioThreadGroup(), "Audio Player");
  25.       this.devAudio = AudioDevice.device;
  26.       ((Thread)this).setPriority(10);
  27.       ((Thread)this).setDaemon(true);
  28.       ((Thread)this).start();
  29.    }
  30.  
  31.    public synchronized void start(InputStream var1) {
  32.       this.devAudio.openChannel(var1);
  33.       this.notify();
  34.    }
  35.  
  36.    public synchronized void stop(InputStream var1) {
  37.       this.devAudio.closeChannel(var1);
  38.    }
  39.  
  40.    public void run() {
  41.       this.devAudio.open();
  42.       this.devAudio.play();
  43.       this.devAudio.close();
  44.       System.out.println("audio player exit");
  45.    }
  46. }
  47.